package com.shell.customer.esign.service;

import com.shell.bee.entity.mvc.RetMsg;
import com.shell.bee.esign.po.EsAcctAuth;
import com.shell.bee.esign.vo.EsignAuthResponse;
import com.shell.bee.esign.vo.EsignResponse;
import com.shell.bee.persistence.model.PageLimit;
import com.shell.customer.accreditation.vo.UserVo;
import com.shell.customer.base.vo.CusAcctVo;
import com.shell.customer.po.CusAcct;
import com.shell.customer.po.CusRec;
import java.math.BigDecimal;
import java.util.List;

public abstract interface EsignAuthTxService {
	public abstract EsignAuthResponse authBaseInfo(CusRec paramCusRec) throws Exception;

	public abstract EsignAuthResponse toPay(CusAcct paramCusAcct, String paramString) throws Exception;

	public abstract void saveEsCust(CusRec paramCusRec, String paramString);

	public abstract EsignResponse payAmountAuth(EsAcctAuth paramEsAcctAuth, String paramString,
			BigDecimal paramBigDecimal) throws Exception;

	public abstract RetMsg payAmountAuth(String paramString, BigDecimal paramBigDecimal);

	public abstract RetMsg reAuth(String paramString1, String paramString2) throws Exception;

	public abstract RetMsg personBankAuth(String paramString1, String paramString2, String paramString3,
			String paramString4);

	public abstract RetMsg personCodeValid(String paramString1, String paramString2);

	public abstract void payNotify(String paramString);

	public abstract EsignAuthResponse personTelecomAuth(UserVo paramUserVo) throws Exception;

	public abstract List<CusAcctVo> selectEsignAcctAuthList(PageLimit paramPageLimit, String paramString);

	public abstract EsAcctAuth getAcctAuth(String paramString1, String paramString2);

	public abstract RetMsg payAmountAuthForAddCus(String paramString, BigDecimal paramBigDecimal);

	public abstract RetMsg toPayForAddCus(String paramString) throws Exception;
}
